#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
//  R  运行状态（running）:并不意味着进程定在运行中，它表明进程要么是在运行中要么在运行
//  队列。
//  S  睡眠状态（sleeping):意味着进程在等待事件完成（这里的睡眠有时候也叫做可中断睡眠
//  （interruptiblesleep））。
//  D  磁盘休眠状态（Disksleep）有时候也叫不可中断睡眠状态（uninterruptiblesleep），在这个
//  状态的进程通常会等待IO的结束。
//  T  停止状态（stopped）：可以通过发送SIGSTOP信号给进程来停止（T）进程。这个被暂停的
//  进程可以通过发送SIGCONT信号让进程继续运⾏。
//  X  死亡状态（dead）：这个状态只是一个返回状态，你不会在任务列表里看到这个状态。
int main()
{
    printf("Hello world\n");
    int y = fork();
    int i = 5;
    if (y == 0)
    {
        while (i--)
        {
             printf("子进程运行id : %d, 父id : %d\n",getpid(), getppid());
             sleep(1);
        }
    }
    else
    {
        while(1)
        {
            printf("父进程运行 id : %d \n",getpid());
            sleep(1);
        }  
    }
    return 0;
}

